In a large bowl, combine yeast and water and activate in a warm place for about 5 minutes.
In a microwave, warm milk, butter, and sugar until the butter melts, about a minute. Set aside until cool enough not to kill the yeast.
Mix the salt and 2 cups flour into the yeast mixture with a hand mixer until well combined. Add egg yolks, then slowly add the warm butter mixture and vanilla until the dough is thoroughly combined. Add more flour if the dough is too sticky.
Cover with a damp cloth and set in a warm place until doubled in size.
Punch the dough down and place it on a floured board. Cut it into 25-30 pieces, roll into balls, arrange them in a single layer, and let rise for about 15 minutes.
Combine the sugar, cardamom, ginger, and cinnamon while the dough rises. Set aside.
Pour cooking oil into a large saucepan until it's at least 3 inches (or about 5 centimeters) deep. (Too little oil will make flatter donuts). Heat on medium until oil reaches 350℉ (180℃).
When ready, gently place a few balls at a time into the hot oil. Fry for a few minutes until the bottom side is a beautiful golden brown.
Turn the ball over and fry for a few more minutes until the other side is golden brown.
Use a large spoon or something similar to remove the donuts from the oil. I usually roll them in the cinnamon sugar until coated and enjoy.